// 交互模块类型定义

// 目标类型枚举
export enum TargetType {
  CONTENT = 'CONTENT',
  COMMENT = 'COMMENT'
}

// 评论排序方式枚举
export enum CommentOrderBy {
  CREATED_AT = 'created_at',
  LIKE_COUNT = 'like_count'
}

// 评论信息
export interface Comment {
  id: number;
  contentId: number;
  userId: number;
  username: string;
  userAvatar: string;
  commentText: string;
  likeCount: number;
  createdAt: string;
  isLiked: boolean;
}

// 评论列表响应
export interface CommentListResponse {
  total: number;
  totalPages: number;
  pageNum: number;
  pageSize: number;
  comments: Comment[];
}

// 点赞切换请求
export interface LikeToggleRequest {
  targetId: number;
  targetType: TargetType;
}

// 点踩请求
export interface DislikeRequest {
  contentId: number;
}

// 创建评论请求
export interface CreateCommentRequest {
  contentId: number;
  commentText: string;
}

// 查询点赞状态请求
export interface LikeStatusRequest {
  targetId: number;
  targetType: TargetType;
}

// 评论查询参数
export interface CommentQueryParams {
  contentId: number;
  page?: number;
  size?: number;
  orderBy?: CommentOrderBy;
}

// 点赞状态响应
export interface LikeStatusResponse {
  isLiked: boolean;
} 